ModuleAPI Java 版本开发者指南
重要辅助类
 
许多辅助类被用作Reader类中方法的参数,以下是常用的辅助类。这些辅助类的定义映射了C语言开发接口的相对应的结构体定义,所以并不太符合Java语言定义类的习惯。

TAGINFO 类

用于表示盘存到的标签的详细信息
成员 描述
ReadCnt 标签被盘存的次数
RSSI 标签信号强度
AntennaID 标签是在哪个天线上盘存到的
Frequency 标签是在哪个频率上盘存到的
TimeStamp 标签被盘存的时刻,相对于发出盘存命令的时间,以毫秒为单位
EmbededDatalen EmbededData的长度, 以字节为单位
EmbededData 在盘存时同时读取的标签的bank数据
Res 保留
Epclen EPC码的长度, 以字节为单位
PC EPC bank的PC段
CRC EPC bank的CRC段
EpcId EPC码
Phase 标签信号的相位
protocol 空中接口协议

GpiState_ST 类

一个GPI引脚的状态
 
成员 描述
GpiId GPI编号, 从1开始编号
State GPI 状态

Inv_Potl 类

表示盘存时使用的空中接口协议以及此协议的配置信息
 
成员 描述
potl 空中接口协议
weight 当盘存多个协议的标签时,此协议占用的盘存时间比例,读写器目前仅支持Gen2协议。将此字段设置为100。

Inv_Potls_ST 类

表示盘存操作使用哪些空中接口协议
 
成员 描述
potlcnt potls的元素数量
potls 空中接口协议以及协议配置

GpiInfo_ST Class

GPI引脚的状态
 
成员 描述
gpiCount gpiStats的元素数量
gpiStats GPI引脚的状态

TagFilter_ST 类

标签过滤规则,用于使盘存和标签访问操作只作用于符合过滤规的标签上。
 
成员 描述
bank 要进行数据匹配的bank,合法值为0,1,2,3,4。 0-3表示gen2标签的bank0-3; 4表示iso180006b内存
startaddr 进行数据匹配比较的bank内起始地址,单位为bit
flen 要匹配的数据长度(以bit为单位)
fdata 要进行匹配比较的数据
isInvert 0表示匹配过滤条件,1表示不匹配过滤条件
 
举例
Filter tag with EPC code starting with "0x1234"
  
TagFilter_ST tf = rdr.new TagFilter_ST();
tf. fdata[0] = 0x12;
tf. fdata [1] = 0x34;
tf.bank = 1;
tf.startaddr = 32;
tf.flen = 16;
tf.isInvert = 0;

EmbededData_ST 类

用于指定盘存时读取bank数据的详细信息
  
成员 描述
bank 盘存时读哪个bank,合法价值为0,1,2,3
startaddr Bank内开始读取的起始地址,以块为单位
bytecnt 从起始地址开始读取多少字节
accesspwd 访问密码,如果不需要密码,则可以设置为null
  
Example
Read 2 blocks from USER ank starting from 4th block when inventory, and need the Access password "0x11112222"
  
EmbededData_ST emd = rdr.new EmbededData_ST();
emd.accesspwd = new byte[4]
emd.ascpwd[0] = 0x11;
emd.ascpwd[1] = 0x11;
emd.ascpwd[2] = 0x22;
emd.ascpwd[3] = 0x22;
emd.bank = 3;
emd.startaddr = 4;
emd.bytecnt = 4;

AntPower 类

单个天线的功率配置
  
成员 描述
antid 天线ID,从1开始编号
readPower 当读写器执行读取相关操作时的发射功率,以centi-dbm为单位
writePower 当读写器执行写入相关操作时的发射功率,以centi-dbm为单位

AntPowerConf 类

多个天线的发射功率配置
 
成员 描述
antcnt The number of elements of Powers
Powers Tx power configuration of antennas

ConnAnts_ST 类

读写器已经连接了的天线
  
成员 描述
antcnt connectedants的元素数量
connectedants 读写器已经连接了的天线

HoptableData_ST 类

读写器跳频表
 
成员 描述
lenhtb htb的元素数量
htb 跳频表

BackReadOption 类

异步盘存的详细配置
 
成员 描述
ReadDuration 使用普通异步盘存模式时的盘存周期(以毫秒为单位)。如果使用高速异步库存模式,则该成员无意义。
ReadInterval 使用普通异步盘存模式时,两个盘存周期之间的空闲间隔(以毫秒为单位)。 如果使用高速异步盘存模式,则该成员无意义。
IsFastRead 如果为1,则使用高速异步盘存模式,否则使用普通异步库存模式。
FastReadDutyRation 高4位必须为0,低4位有效,低4位用于表示在读写器盘存期间待机所花费的时间比例。 如果FastReadDutyRation为0-9,则比例为FastReadDutyRation * 5%。 如果FastReadDutyRation为10-15,则比例为50%。
TMFlags 指定使用高速异步盘存模式时标签携带的元数据信息。 如果使用普通异步库存模式,则该成员无意义。
GpiTrigger 如果IsGPITrigger为true,则使用GPI触发条件来启动或停止异步盘存。
IsGPITrigger 如果为true,则使用GPI触发条件来启动或停止异步盘存。

TagMetaFlags 类

指定使用高速异步盘存模式时标签携带的元数据信息。将下表中的成员设置为true表示要求读写器返回相应的信息数据,否则设置为false。
 
成员 描述
IsAntennaID 是否携带盘存到标签的天线ID
IsReadCnt 是否携带标签的盘存次数
IsRSSI 是否携带标签的接收信号强度
IsFrequency 是否携带盘存标签的频率
IsTimestamp 是否携带盘存到标签时的时间戳
IsRFU 是否携带保留字段
IsEmdData 在盘存期间,可以根据EmbededCmdOfInventory参数读取标签的另一个bank的数据。是否携带此数据

ReadExceptionListener 接口

异步盘存期间发生错误时的回调接口
 
tagReadException 方法

方法签名
  
void tagReadException(Reader r, READER_ERR re)
 
参数
参数 描述
r Reader类的实例
re 异步盘存期间发生的错误代码

ReadListener 接口

异步盘存期间盘存到标签时的回调接口
 
tagRead 方法

方法签名
  
void tagRead(Reader r, TAGINFO[] t)
 
参数
参数 描述
r Reader类的实例
t 被盘存到的标签

GpiTriggerListener 接口

当GPI触发条件满足时的回调接口(当异步盘存被配置为通过GPI触发启动),用于通知当时的GPI状态。
 
GpiTrigger 方法

方法签名
  
void GpiTrigger(Reader r, GpiInfo_ST gist, int triid)
 
参数
参数 描述
r Reader类的实例
gist 触发启动或停止异步盘存时的GPI状态
triid 触发异步盘存启动或停止的条件编号

GpiTriggerBoundaryListener 接口

异步盘存启动或停止时的回调接口(如果异步盘存配置为由GPI触发启动),用于通知读写器的行为和原因。
 
GpiTriggerBoundary 方法

方法签名
  
void GpiTriggerBoundary(Reader r,GpiTriggerBoundaryType btype, GpiTriggerBoundaryReasonType reason)
 
参数
参数 描述
r Reader类的实例
btype GPITriggerBoundary_StartInventory表示启动盘存; GPITriggerBoundary_StopInventory表示停止盘存
reason GpiTriggerBoundaryReason_ByGpi表示通过GPI触发启动或停止盘存; GpiTriggerBoundaryReason_ByTimeout表示因为超时停止盘存